perm filename TING2.TO[LSP,JRA] blob sn#129973 filedate 1974-11-13 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	hi:
C00009 ENDMK
C⊗;
hi:
i actually made up (sigh) four copies of old hack, and then started
a cover letter of apology for krocks i..particularly in vol 2..
that became so confusing that i just decided to rewrite the mess...
that's what i'm doing now...vol two is completely restructured

yes passing back functions  was left out..it's now in...

i'll check read and print 
the speling erors shuld be ckecked in a later version, since i'm still
rewritting maney parts.

below's letter i started to write, for what it's worth...new version
is also together though.   i have not forgotten

yes pl/1 sucks.i'm double pissed at nixon since my use of expletive
was added in 1969...now everyone uses it..

AND BE SURE TO TELL KRUFTY OLD HEARN THAT YOU LIKED THE STYLE!!

--------------
To the Patient Reader:

There  are  some  major revisions  in  progress  on  the  Super  Lisp
manuscript.    Sketching those  areas here  will  hopefully forestall
attempts to understand sections which  are poorly done and have  been
changed. 

Several  revisions   are  due  to  persistent   criticism  from  many
reviewers;  some are  due to my  general discomfort  with the current
presentation.  The net effect is a restructuring  of the two chapters
entitled    "Towards     Implementation"    [part    II-sec.6]    and
"Compilation"[II-7].   These  two  chapters are  being  rewritten  to
reflect the  static structure of  LISP and  the dynamic structure  of
LISP respectively. 

In [II-6], the  section on AMBIT/G is being completely rewritten. The
idea of  graphical description of  an algorithm  as well  as data  is
worth presenting,  but a very informal  sketch is all that  is really
necessary.   The sections on "syntactic dominoes", the Contour  model,
and graphical garbage collectors, are out. 

The chapter on compilers [II-7] for LISP is quite incomplete; however
it is  also much  too machine dependent.  This material has  all been
rewritten  in  a  much  more  abstract  style,  using   constructors,
selectors, and predicates.   There will correspondingly be  much less
emphasis on the  SM-machine.  What will remain will be moved into the
Compiling chapter. 

Throughout the  text, there  will be  more emphasis  on writing  LISP
programs  in an  abstract style.  This is  one of  the few  canons of
"structured programming" and should be recognized as such. 

[for example, stuff on list notation is all rewritten, expressing 
list notation as a data-structure definition over sexprs and dot-notation
as the underlying representation]


There are a few topics yet to be included. The temptation to "keep on
writing" should be restrained, but one of the important  topics to be
included  is: just what  can we learn  from LISP?   LISP has  been an
amazingly durable language.  In attempting to understand LISP in  the
chapters on mechanics, evaluation, its  static and dynamic structure,
we should  begin to understand what makes  a LISP-like language. This
understanding is part of the chapter on "Implications..." [II-8].   A
chapter on  "Implications..." should  also examine  some of  the more
durable characteristics of Artificial Intelligence languages. 

Several   existing   sections   are  incomplete.   The   sections  on
%2λ%*-calculus [I-4.6] and mathematical semantics [I-4.17]  are quite
incomplete and contain some errors. These sections are being revised.
The section on  Weizenbaum diagrams  [I-4.9] has  been reworked.  The
current presentation is unclear and the diagrams are hard to read. 

Many more problem sets  must be included.  Any  contributions in this
area will be gratefully received. 

This   manuscript  attempts  to  give   a  reasonably  self-contained
presentation.   The  idea  is  to  give  people,  with  litle  or  no
background  in  Computer  Science,   a  proper  introduction  to  the
interesting  areas of the field.  I obviously think  LISP is the best
way to do this.